using System;
using System.Collections.Generic;
using System.Text;

namespace EasySeries.Metier.Entites
{
    /**
     * 
     * Classe Abonnement
     * 
     * */
    public class Abonnement
    {
        // Id de l'abonnement
        private int idAbonnement;

        public int IdAbonnement
        {
            get { return idAbonnement; }
            set { idAbonnement = value; }
        }
        
        // Serie associee
        private Serie serie;

        public Serie Serie
        {
            get { return serie; }
            set { serie = value; }
        }

        // Dernier episode que l'utilisateur a recupere
        private Episode episodeCourant;

        public Episode EpisodeCourant
        {
            get { return episodeCourant; }
            set { episodeCourant = value; }
        }

        // Dernier episode que l'utilisateur a recupere
        private string format;

        public string Format
        {
            get { return format; }
            set { format = value; }
        }

        // Redefinition de la fonction ToString
        public override string ToString()
        {
            return Serie.Name;
        }

        public Abonnement() {}
        /**
         * #Ajout par Patrick 
         */
        public Abonnement(int id, Serie serie, Episode epCourant, string format) : this(id, serie,epCourant)
        {
            this.format = format;
        }

        public Abonnement(int id, Serie serie, Episode epCourant) : this(serie,epCourant)
        {
            this.idAbonnement = id;
        }

        public Abonnement(Serie serie, Episode epCourant, string format)
        {
            this.Serie = serie;
            this.episodeCourant = epCourant;
            this.format = format;
        }
        public Abonnement(Serie serie, Episode epCourant)
        {
            this.Serie = serie;
            this.episodeCourant = epCourant;
        }
        public Abonnement(Serie serie)
        {
            this.Serie = serie;
        }
    }
}
